SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCedure [dbo].[SP_TCMOVI_BANC_U04]
/*-------------------------------------------------------*/
/*---Empresa              : OFISIS S.A.                --*/
/*---Cliente              : OFISIS                     --*/
/*---Sistema              : Tesoreria                  --*/
/*---M”dulo               : Empresa                    --*/
/*---Programa             : Actualizaciön Cabecera     --*/
/*---                       Movimiento Bancos (Egresos)--*/
/*---Script               : tcmovi_b.sql               --*/
/*---Nombre SP            : SP_TCMOVI_BANC_U04         --*/
/*---Desarrollado por     : Carlos Mÿrquez E.          --*/
/*---Fecha Creaci”n       : 14/06/1999                 --*/
/*---Base Datos           : Microsoft Sql Server       --*/
/*---Versi”n              : 8.0                        --*/
/*---Invoca a SP          :                            --*/
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/*---Modificado 1 por     : Miguel Carrasco Ramirez     --*/
/*---Fecha Modificaci”n   : 02/07/2009                --*/ 
/*---Detalle Modificaci”n : Tipo de Operacion Detraccion --*/
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/*---Comentarios Modifica Numero de Cheque si tiene   --*/
/*--- estatus de Digitada                              --*/
/*---                                                  --*/
/*-------------------------------------------------------*/

/*-------------------------------------------------------*/
/*---Drop Proc SP_TCMOVI_BANC_U04                      --*/
/*---Grant all on SP_TCMOVI_BANC_U04 to public         --*/ 
/*---SP_TCMOVI_BANC_U04                                --*/
/*-------------------------------------------------------*/
 @ISCO_EMPR 	 	TD_VC_002, 
 @ISCO_USUA_MODI 	TD_VC_008_USUA,
 @ISCO_BANC 	 	TD_VC_003, 
 @ISNU_CNTA_BANC 	TD_VC_020,
 @ISAA_BNCO 		TD_VC_004, 
 @ISMM_BNCO 		TD_VC_002, 
 @ISTI_MOVI_BANC 	TD_VC_001,  
 @ISNU_COMP_BANC 	TD_VC_008, 
 @ISCO_TIPO_OPER 	TD_VC_003, 
 @ISCO_SUBR 		TD_VC_003, 
 @INFA_TIPO_CAMB 	TD_NU_015_006, 
 @ISNU_CHEQ 		TD_VC_020,
 --- @INIM_MOVI 		TD_NU_016_004, 
 --- @IDFE_OPER 		TD_DT_001, 
 @IDFE_CHEQ 		TD_DT_001, 
 @ISST_ASTO_RESU	TD_VC_001,
 --- @ISCO_ENTI 		TD_VC_020, 
 @ISDE_NOMB_ORDE 	TD_VC_100, 
 @ISDE_OBSE 		TD_VC_100, 
 @ISCO_TIPO_DOCU 	TD_VC_003,
 @ISNU_DOCU_BANC 	TD_VC_020,
 @ISSI_SOLO_BANC 	TD_VC_001,
 @ISCO_ENTR_REND 	TD_VC_004,
 @ISCO_UNID_CNTB 	TD_VC_003,
 @ISCO_GRUP_CONC 	TD_VC_020,
 @ISNU_SOLI             TD_VC_010

-- 

 as
 DECLARE  
 @VNIM_MOVI_ANTE	TD_NU_016_004,
 @VSST_INTE_BACH	TD_VC_001,
 @VSTI_OPNI_CARG	TD_VC_003,
 @VSTI_OPNI_ABON	TD_VC_003,
 @VSTI_NUME_CHEQ	TD_VC_001,
 @VSST_DETA_DOCU	TD_VC_001,
 @VSST_DETR_CALC	TD_VC_001

 BEGIN TRAN SP_TCMOVI_BANC_U04

	Select	@VSST_INTE_BACH = ST_INTE_BACH,
			@VSTI_OPNI_CARG = CO_TIPO_OPEG, @VSTI_OPNI_ABON = CO_TIPO_OPER
	From TMPARA_TESO Where CO_EMPR = @ISCO_EMPR

	If Rtrim(@ISCO_ENTR_REND) = ''
		Select @ISCO_ENTR_REND = NULL


    ---- TIPO DE OPERACION DETRACCION-----------------
  SELECT  @VSST_DETR_CALC = ST_DETR_CALC,
  @VSST_DETA_DOCU  = ST_DETA_DOCU
  FROM TTTIPO_OPER
  WHERE CO_EMPR = @ISCO_EMPR
  AND CO_TIPO_OPER = @ISCO_TIPO_OPER

  IF ISNULL(@VSST_DETA_DOCU,'N') != 'S'
   SELECT @VSST_DETR_CALC = 'N'



	/************ CHEQUES : -- Cheques Manejo de Cheques  -- ************************/
	Select	@VSTI_NUME_CHEQ = IsNull(TI_NUME_CHEQ, 'D')
	From	TMCNTA_BANC
	Where	CO_EMPR = @ISCO_EMPR
	  And	CO_BANC = @ISCO_BANC 
	  And	NU_CNTA_BANC = @ISNU_CNTA_BANC

	If @VSTI_NUME_CHEQ = 'G'
	Begin 

	  If Rtrim(@ISNU_CHEQ) = ''
	     Select @ISNU_CHEQ = NULL
	
	  If Rtrim(@ISCO_TIPO_DOCU) = ''
	     Select @ISCO_TIPO_DOCU = NULL

	  UPDATE  TCMOVI_BANC
	  SET	
		CO_SUBR = @ISCO_SUBR,
		FE_CHEQ = @IDFE_CHEQ, 
		DE_NOMB_ORDE = @ISDE_NOMB_ORDE ,
		CO_TIPO_DOCU = RTRIM(@ISCO_TIPO_DOCU), 
		NU_DOCU_BANC = RTRIM(@ISNU_DOCU_BANC), 
		DE_OBSE = @ISDE_OBSE ,
		SI_SOLO_BANC = @ISSI_SOLO_BANC, 
		CO_ENTR_REND = @ISCO_ENTR_REND,
		CO_GRUP_CONC = @ISCO_GRUP_CONC,
		NU_SOLI = @ISNU_SOLI,
        ST_PAGO_DETR = @VSST_DETR_CALC,
		CO_USUA_MODI = @ISCO_USUA_MODI,
		FE_USUA_MODI = getdate()
	  Where CO_EMPR = @ISCO_EMPR 
      And CO_UNID_CONC = @ISCO_UNID_CNTB
	  And CO_BANC = @ISCO_BANC 
	  And NU_CNTA_BANC = @ISNU_CNTA_BANC 
	  And AA_BNCO = @ISAA_BNCO 
	  And MM_BNCO = @ISMM_BNCO 
	  And TI_MOVI_BANC = 'E' 
	  And NU_COMP_BANC = @ISNU_COMP_BANC 
	
	  If @@error <> 0
		Begin
			Rollback tran
			Return
		End

	End
	Else
	Begin

	  UPDATE  TCMOVI_BANC
	  SET	
		CO_SUBR = @ISCO_SUBR,
		FA_TIPO_CAMB = @INFA_TIPO_CAMB,
		NU_CHEQ = @ISNU_CHEQ,
		FE_CHEQ = @IDFE_CHEQ, 
		DE_NOMB_ORDE = @ISDE_NOMB_ORDE ,
		CO_TIPO_DOCU = RTRIM(@ISCO_TIPO_DOCU), 
		NU_DOCU_BANC = RTRIM(@ISNU_DOCU_BANC), 
		DE_OBSE = @ISDE_OBSE ,
		SI_SOLO_BANC = @ISSI_SOLO_BANC, 
		CO_ENTR_REND = @ISCO_ENTR_REND,
		CO_GRUP_CONC = @ISCO_GRUP_CONC,
		NU_SOLI = @ISNU_SOLI,
        ST_PAGO_DETR = @VSST_DETR_CALC,
		CO_USUA_MODI = @ISCO_USUA_MODI,
		FE_USUA_MODI = getdate()
	  WHERE   CO_EMPR = @ISCO_EMPR 
          And CO_UNID_CONC = @ISCO_UNID_CNTB
	  	  And CO_BANC = @ISCO_BANC 
	  	  And NU_CNTA_BANC = @ISNU_CNTA_BANC 
	  	  And AA_BNCO = @ISAA_BNCO 
	 	  And MM_BNCO = @ISMM_BNCO 
	  	  And TI_MOVI_BANC = 'E' 
	  	  And NU_COMP_BANC = @ISNU_COMP_BANC 
	
	  If @@error <> 0
		Begin
			Rollback tran
			Return
		End
	End

    If @VSST_INTE_BACH = 'N' AND @ISST_ASTO_RESU = 'N'
	Begin

	  UPDATE  TCMOVI_BANC
	  SET	
		ST_CONT = 'N'
	      WHERE   CO_EMPR = @ISCO_EMPR 
          And CO_UNID_CONC = @ISCO_UNID_CNTB
	  	  And CO_BANC = @ISCO_BANC 
	  	  And NU_CNTA_BANC = @ISNU_CNTA_BANC 
	  	  And AA_BNCO = @ISAA_BNCO 
	 	  And MM_BNCO = @ISMM_BNCO 
	  	  And TI_MOVI_BANC = 'E' 
	  	  And NU_COMP_BANC = @ISNU_COMP_BANC 
	
	  If @@error <> 0
		Begin
			Rollback tran
			Return
		End
	End

 COMMIT TRAN SP_TCMOVI_BANC_U04
/*------------------------ Fin ------------------------------*/


GO
